Field of the Invention
Embodiments of the present invention relate generally to graphics processing and, more specifically, to techniques for nonlinear chrominance upsampling.
Description of the Related Art
In computer systems, in general, and in graphics processing units (GPUs), in particular, evolving technology affords manufacturers the ability to produce processors with increasing density that process data with increasing speed and efficiency. Higher data rates and streaming video magnify the importance of conserving bandwidth. Accordingly, efforts to reduce the amount of bandwidth required are increasingly advantageous.
A host system transmits a compressed stream to a client. The client then decompresses the stream. This compression/decompression scheme conserves bandwidth consumed between the host and the client. The amount conserved depends on the compression scheme used. Compression algorithms involve encoding the information contained in a stream of digital data in a manner that results in fewer data bits than the original data stream. Fewer data bits results in reduced bandwidth requirements for data transmission and reduced memory capacity requirements. Many compression algorithms exist.
A typical digital video signal may exist in a raw format known as RGB8, which includes 8 bits for the red content, 8 bits for the green content, and 8 bits for the blue content. An alternate format for digital video is termed YCrCb, where the Y term represents the luminance, or brightness of the signal, and the Cr term represents the red chrominance, or color content, and the Cb term represents the blue chrominance. An alternate term for YCrCb is YUV, where U corresponds to the Cr term, and V corresponds to the Cb term. RGB and YUV sampling schemes are described by a three part ratio, A:B:C, which defines a conceptual region A pixels wide and B pixels high in which there are C possible changes in chrominance between rows. Thus, the YUV 4:4:4 scheme includes a four-by-four array of pixels with four possible changes in chrominance between rows. The relationship between RGB and YUV is described in Equations 1 through 3. Each of the components of the YUV format is a linear sum of the RGB components weighted by different coefficients, as set forth in the following equations:Y=0.299R+0.587G+0.114B  (1)U=−0.147R−0.289G+0.436B  (2)V=0.615R−0.515G+0.100B  (3)
As shown in equation 1, the coefficients of the Y term are positive and sum to one. There is, therefore, a close correlation between luminance, Y, and color, RGB. The human visual system is more sensitive to light intensity than to color variation or color contrast. Accordingly, one compression algorithm, known as YUV 4:2:0, defines a conceptual region four pixels wide and two pixels high in which there are only two possible changes in chrominance between rows. YUV 4:2:0 effects a two-to-one compression of video data. The Y term, or luminance, is included at full resolution. The U and V terms are included at one-quarter resolution.
YUV 4:2:0 is an effective compression technique because the reduction in chrominance resolution is not typically apparent to the viewer of the video. Many video formats are encoded as YUV 4:2:0 including MPEG, JPEG, DVD video and Blu-ray, PAL DV, and HDV among others. However, conversion to YUV 4:2:0 is only one example of subsampling. The drawbacks described herein apply to any such conversion scheme.
A video signal in RGB 4:4:4 format may be converted to YUV 4:4:4 format and subsampled to YUV 4:2:0 format. The signal in YUV 4:2:0 format is then transmitted to the client. The client, then, upsamples the signal in YUV 4:2:0 format to compensate for the missing chrominance information and constructs a signal in YUV 4:4:4 format that is then converted to RGB 4:4:4 format. This approach is typically used for transmitting video and streaming games and works well for natural video, in which the content is of real live scenes and motion.
One drawback of the above approach arises when transmitting and displaying rendered video. In certain types of applications, especially computer-aided design (CAD) applications that include fine lines, sharply defined edges, and text, sharp lines tend to get washed away due to subsampling and then upsampling. In particular, a single line includes a significant amount of high contrast spatial content. The subsampling process includes low pass box filters that attenuate the high frequency spatial content inherent in fine detail video. Upsampling a subsampled black line on a white background, that is, a high contrast pixel arrangement, may result in averaging the chrominance over several pixel blocks. The resulting recovered video may render the area where the black line overlays the white background as a grayish, fuzzy line, as opposed to a clear black line with good definition.
As the foregoing illustrates, what is needed in the art is a more effective technique for up-sampling compressed video.